package admin

import (
	"github.com/kataras/iris/v12"
	"huanteng/web/helpers"
	"huanteng/web/services"
)
type AuthController struct {
	Service *services.MenuService

}
// @Summary 用户登陆
// @Description 用户登陆
// @Tags Authorization
// @Accept json
// @Produce json
// @Param username body string true "用户名"
// @Param password body string true "密码"
// @Success 200 {string} json "{"msg": "hello Kity"}"
// @Failure 400 {string} json "{"msg": "hello Kity"}"
// @Router /admin/auth/login [post]
func Login(ctx iris.Context) {
	service:=services.AdminService{}
	m,err:=service.Login(ctx)
	if err!=nil{
		ctx.JSON(helpers.FailedMsg(err.Error()))
		return
	}
	ctx.JSON(helpers.SuccessData(m))

}
// @Summary 用户信息
// @Description 用户信息
// @Tags Authorization
// @Accept json
// @Produce json
// @Success 200 {string} json "{"msg": "hello Kity"}"
// @Failure 400 {string} json "{"msg": "hello Kity"}"
// @Router /admin/auth/info [get]
func (a *AuthController) GetInfo()(*helpers.Response)  {

	data,err:=a.Service.GetInfo()
	if err!=nil{
		return helpers.FailedMsg(err.Error())
	}
	return helpers.SuccessData(data)
}

// @Summary 修改管理员密码
// @Description 修改管理员密码
// @Tags Authorization
// @Accept json
// @Produce json
// @Param new_password body string true "新密码"
// @Param new_password_again body string true "新密码agian"
// @Param old_password body string true "原密码"
// @Success 200 {string} json "{"msg": "hello Kity"}"
// @Failure 400 {string} json "{"msg": "hello Kity"}"
// @Router /admin/auth/editpwd [post]
func (a *AuthController) PostEditpwd(ctx iris.Context)*helpers.Response  {
	auth:= services.AdminService{}
		err:=auth.EditPwd(ctx)
	if err!=nil{
		return helpers.FailedMsg(err.Error())
	}
	return helpers.SuccessMsg()
}
// @Summary 登出
// @Description 登出
// @Tags Authorization
// @Accept json
// @Produce json
// @Success 200 {string} json "{"msg": "hello Kity"}"
// @Failure 400 {string} json "{"msg": "hello Kity"}"
// @Router /admin/auth/logout [post]
func (a *AuthController) PostLogout(ctx iris.Context)*helpers.Response  {

//通过服务器端使令牌无效，即使令牌尚未过期也是如此。
	err := ctx.Logout()

	if err!=nil{
		return helpers.FailedMsg(err.Error())
	}
	return helpers.SuccessMsg()
}
